home *** CD-ROM | disk | FTP | other *** search
/ Disc to the Future 2 / Disc to the Future Part II Programmer's Reference (Wayzata Technology)(6013)(1992).bin / MAC / THINKC / 4_0 / FLIGHT / PERSPECT.H < prev    next >
Text File  |  1990-01-26  |  1KB  |  77 lines

  1.  
  2. /* menus */
  3. #define MENU_APPLE    1
  4. #define MENU_FILE    2
  5. #define MENU_EDIT    3
  6.  
  7.  
  8. /* windows */
  9. #define MENU_BAR_HEIGHT    20
  10. #define SCREEN_WIDTH    512
  11. #define SCREEN_HEIGHT    342
  12. #define SCREEN_MARGIN    4
  13. #define TITLE_BAR_HEIGHT    18    
  14. #define inZoomIn    7
  15. #define inZoomOut    8
  16.  
  17. #define WIND_MAIN    128
  18. #define    pass(x) (x)
  19.  
  20.  
  21. #define    MOUSE_POS    (*(Point *)(0x830))
  22.  
  23. #define    GRID_SZ        20
  24.  
  25. struct Vector {
  26.     double    x;
  27.     double    y;
  28.     double    z;
  29. };
  30. typedef struct Vector Vector;
  31.  
  32. struct FxVector {
  33.     Fixed    x;
  34.     Fixed    y;
  35.     Fixed    z;
  36. };
  37. typedef struct FxVector FxVector;
  38.  
  39. typedef double ThreeMatrx[3][3];
  40. typedef Fixed FxThreeMatrx[3][3];
  41. typedef Fract FracThreeMatrx[3][3];
  42.  
  43. struct FracThreeMatrxStrc {
  44.     Fract    entrys[3][3];
  45. };
  46. typedef struct FracThreeMatrxStrc FracThreeMatrxStrc;
  47.  
  48. struct FxGridMatrx {
  49.     FxVector    entrys[GRID_SZ][GRID_SZ];
  50. };
  51. typedef struct FxGridMatrx FxGridMatrx;
  52.  
  53.  
  54. #define    FIX_HALF    (0x8000)
  55. #define    FIX_ONE        (0x10000)
  56. #define    FRAC_ONE    (0x40000000)
  57. #define    FIX_NG_ONE    (0xffff0000)
  58. #define    FixToD(x)    ldexp((double)(x),-16)
  59. #define    DToFix(x)    ((long)ldexp((x),16))
  60. #define    FixToi(x)    ((int)((x)>>16))
  61. #define    RndFixToi(x)    ((int)((x)+FIX_HALF>>16))
  62.  
  63. #define    iToFix(x)    (((long)(x)<<16))
  64. #define    FixRound(x)    FixToi(x)
  65. #define    Frac2Fix(x)    ((x)>>14)
  66. #define    Fix2Frac(x)    ((x)<<14)
  67. #define    FracToD(x)    ldexp((double)(x),-30)
  68. #define    DToFrac(x)    ((long)ldexp((x),30))
  69. #define    Fx_DEGtoRAD    ((long)0x477)
  70.  
  71. Fixed    _FixMul(), _FixDiv();
  72.  
  73.  
  74.  
  75. #define        stepSize    2
  76. #define        startHeight        4
  77.